#pragma once
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>

typedef int LTDataType;
typedef struct LTNode {
	LTDataType val;
	struct LTNode* next;
	struct LTNode* prev;
}LTNode;

void LTPrint(LTNode* phead);

LTNode* LTBuyNode(LTDataType val);
void LTInit(LTNode** pphead);

void LTPushBack(LTNode* phead, LTDataType val);
void LTPushFront(LTNode* phead, LTDataType val);

void LTPopBack(LTNode* phead);
void LTPopFront(LTNode* phead);

LTNode* LTFind(LTNode* phead, LTDataType val);

void LTInsert(LTNode* pos, LTDataType val);
void LTInsertAfter(LTNode* pos, LTDataType val);

void LTErase(LTNode* phead,LTNode* pos);

void LTDestroy(LTNode** pphead);